#pragma once
#include "smartalloc.h"
#include "Serializable.h"
#include "TubeTruckTypes.h"
#include "dispatcher.h"

namespace TTP {

   class State : public dispatcher, public Serializable {
      virtual bool canHasUpdate() { return true; }
   public:

      static State * stateFactory() { return new State(); }
      static State * stateCloner(const State& s) { return new State(s); }

      virtual void fromVec(std::vector<byte>::const_iterator &vit,
       const std::vector<byte>::const_iterator &end) {}
      virtual void toVec(std::vector<byte> &vec) const {}
   };

}
